<?php

require "/../class/BaseDatos.class.php";

class AdminDAO extends BaseDatos{

	function validarUsuario($usuario, $password){
		$this->connectClass();
		$sql = "SELECT id FROM admin_user WHERE usuario = '".$usuario."' AND password = '".$password."'";
		$result = $this->query($sql);
		if($this->numRows($result) > 0){
			session_destroy();
			session_start();
			list ($id) = $this->fetch($result);
			$_SESSION['login'] = true;
			$_SESSION['id_user'] = $id;
			return 1;
		}
		else{
			return 0;
		}
	}
	
	function getNombreUsuario($id){
		$this->connectClass();
		$sql = "SELECT nombre FROM admin_user WHERE id = ".$id;
		$result = $this->query($sql);
		return $result;
	}
	
	function getEventos($flag){
		$this->connectClass();
		if($flag == 0){
			$sql = 'SELECT id_evento, nombre_evento, latitud, longitud FROM evento';
		}
		if($flag == 1){
			$sql = 'SELECT id_evento, nombre_evento, latitud, longitud FROM evento WHERE latitud = "0" OR longitud = "0"';
		}
		if($flag == 3){
			$sql = 'SELECT id_evento, nombre_evento, latitud, longitud FROM evento WHERE id_evento = '.$flag;
		}
		$result = $this->query($sql);
		return $result;
	}
	
	function getDatosEvento($id){
		$this->connectClass();
		$sql = 'SELECT id_evento, nombre_evento, fecha_inicio, fecha_termino, direccion_evento, precios, id_categoria, latitud, longitud
				FROM evento WHERE id_evento = '.$id;
		$result = $this->query($sql);
		return $result;
	}
	
	function getCategorias(){
		$this->connectClass();
		$sql = 'SELECT id_categoria, nombre_categoria FROM categoria';
		$result = $this->query($sql);
		return $result;
	}
	
	function editarEvento($id_ev,$nombre,$fecha_inicio,$fecha_termino,$direccion,$precios,$categoria,$lat,$lon){
		$this->connectClass();
		$sql = 'UPDATE evento SET nombre_evento = "'.$nombre.'", fecha_inicio = "'.$fecha_inicio.'", fecha_termino = "'.$fecha_termino.'", 
				direccion_evento = "'.$direccion.'", precios = "'.$precios.'", id_categoria = '.$categoria.', latitud = "'.$lat.'", longitud = "'.$lon.'"
				WHERE id_evento = '.$id_ev;
		$result = $this->updatebd($sql);
		return $result;
	}
	
	function eliminarEvento($id_ev){
		$this->connectClass();
		$sqlPuntos = 'DELETE FROM puntuacion WHERE id_evento = '.$id_ev;
		$sqlComent = 'DELETE FROM comentario WHERE id_evento = '.$id_ev;
		$sqlEvento = 'DELETE FROM evento WHERE id_evento = '.$id_ev;
		$resultPuntos = $this->deletebd($sqlPuntos);
		$resultComent = $this->deletebd($sqlComent);
		$resultEvento = $this->deletebd($sqlEvento);
		if($resultPuntos == true && $resultComent == true && $resultEvento == true){
			return true;
		}
		else{
			return false;
		}
	}
	
	function eliminarUsuario($id){
		$this->connectClass();
		$sql = 'DELETE FROM usuario WHERE id_usuario = '.$id;
		$result = $this->deletebd($sql);
		return $result;
	}
	
	function getUsuarios($flag){
		$this->connectClass();
		if($flag == 0){
			$sql = 'SELECT * FROM usuario';
		}
		if($flag == 1){
			$sql = 'SELECT * FROM usuario WHERE validado = 0';
		}
		$result = $this->query($sql);
		return $result;
	}

	function agregarEvento($nombre,$fecha_inicio,$fecha_termino,$direccion,$precios,$categoria,$lat,$lon){
		$this->connectClass();
		$sql = 'INSERT INTO evento (nombre_evento,fecha_inicio,fecha_termino,direccion_evento,precios,id_categoria,latitud,longitud)
				VALUES ("'.$nombre.'","'.$fecha_inicio.'","'.$fecha_termino.'","'.$direccion.'","'.$precios.'",'.$categoria.',"'.$lat.'","'.$lon.'")';
		$result = $this->insertbd($sql);
		return $result;		
	}
	
	function agregarUsuario($nombre,$correo,$password,$empresa,$telefono,$validado){
		$this->connectClass();
		$sql = 'INSERT INTO usuario (correo_usuario,password_usuario,fono_usuario,empresa_usuario,nombre_usuario,validado)
				VALUES ("'.$correo.'","'.$password.'","'.$telefono.'","'.$empresa.'","'.$nombre.'",'.$validado.')';
		$result = $this->insertbd($sql);
		return $result;
	}
	
	function getDatosUsuario($id){
		$this->connectClass();
		$sql = 'SELECT * FROM usuario WHERE id_usuario = '.$id;
		$result = $this->query($sql);
		return $result;
	}
	
	function editarUsuario($id,$nombre,$correo,$password,$empresa,$telefono,$validado){
		$this->connectClass();
		$sql = 'UPDATE usuario SET correo_usuario = "'.$correo.'", password_usuario = "'.$password.'", fono_usuario = "'.$telefono.'",
				empresa_usuario = "'.$empresa.'", nombre_usuario = "'.$nombre.'", validado = '.$validado.' WHERE id_usuario = '.$id;
		$result = $this->updatebd($sql);
		return $result;
	}
	
	function guardarDireccion($direccion,$lat,$lon){
		$this->connectClass();
		$sql = 'SELECT id FROM direcciones WHERE direccion = "'.$direccion.'"';
		$result = $this->query($sql);
		if($this->numRows($result) < 1){
			$sql2 = 'INSERT INTO direcciones (direccion,latitud,longitud) VALUES ("'.$direccion.'","'.$lat.'","'.$lon.'")';
			$result2 = $this->insertbd($sql2);
			return $result2;
		}
		else{
			return false;
		}
	}
	
	function getDescripcion($id){
		$this->connectClass();
		$sql = 'SELECT descripcion FROM descripcion WHERE id_evento = '.$id;
		$result = $this->query($sql);
		return $result;
	}
	
	function guardarDescripcion($id_ev,$descripcion){
		$this->connectClass();
		$sql = 'INSERT INTO descripcion (id_evento,descripcion) VALUES ('.$id_ev.',"'.$descripcion.'")';
		$result = $this->insertbd($sql);
		return $result;
	}
	
	function getIdEvento($nombre,$fecha_inicio){
		$this->connectClass();
		$sql = 'SELECT id_evento FROM evento WHERE nombre_evento = "'.$nombre.'" AND fecha_inicio = "'.$fecha_inicio.'"';
		$result = $this->query($sql);
		return $result;
	}
}